Przygotuj macierz przejść.
library('igraph')
source("http://michael.hahsler.net/SMU/ScientificCompR/code/map.R")
load("all.rda")
all <- as.data.frame(all)
kluby <- unique(all$klub)
osoby <- unique(all$lista)
mat <- matrix(0, length(kluby), length(kluby))
rownames(mat) <- kluby
colnames(mat) <- kluby
for (i in seq_along(osoby)) {
tmp <- all[all$lista == osoby[i],]
if (nrow(tmp) > 1) {
for (j in 2:nrow(tmp)) {
mat[tmp$klub[j-1], tmp$klub[j]] <- mat[tmp$klub[j-1], tmp$klub[j]] + 1
}
}
}
# Skróć nazwy klubów
colnames(mat) <- gsub(colnames(mat), pattern="[^A-Z]", replacement = "")
rownames(mat) <- gsub(rownames(mat), pattern="[^A-Z]", replacement = "")
g <- graph.adjacency(mat)
plot(g)
plot(g, layout=layout.fruchterman.reingold,
vertex.size=map(betweenness(g),c(1,15)),
edge.width=map(edge.betweenness(g), c(1,10)))
plot(g, layout=layout.circle,
vertex.size=map(betweenness(g),c(1,20)),
edge.width=map(edge.betweenness(g), c(0.5,5)),
edge.arrow.size=.2)
plot(g, layout=layout.kamada.kawai,
vertex.size=map(betweenness(g),c(1,15)),
edge.width=map(edge.betweenness(g), c(1,10)),
edge.arrow.size=.2)
ind <- colSums(mat) + rowSums(mat) > 9
mat2 <- mat[ind, ind]
g <- graph.adjacency(mat2)
plot(g)
plot(g, layout=layout.fruchterman.reingold,
vertex.size=map(betweenness(g),c(1,15)),
edge.width=map(edge.betweenness(g), c(1,10)))
plot(g, layout=layout.circle,
vertex.size=map(betweenness(g),c(1,20)),
edge.width=map(edge.betweenness(g), c(0.5,5)),
edge.arrow.size=.2)
plot(g, layout=layout.kamada.kawai,
vertex.size=map(betweenness(g),c(1,15)),
edge.width=map(edge.betweenness(g), c(1,10)),
edge.arrow.size=.2)
plot(g, layout=layout.mds,
vertex.size=map(betweenness(g),c(1,15)),
edge.width=map(edge.betweenness(g), c(1,10)),
edge.arrow.size=.2)